#ifndef _OCPP_GridDataAlgorithm_H__
#define _OCPP_GridDataAlgorithm_H__

#include "GridData.h"

namespace OCPP
{
	namespace Volume
	{
		class _volumeExport GridDataAlgorithm
		{
		public:
			virtual GridData onCompute(GridDataVec& gridDataVec, const VolumeOptions& options);

		protected:
			virtual String mergeVarName(GridDataVec& gridDataVec, const VolumeOptions& options);
		};

		class _volumeExport GridDataAlgorithmNone : public GridDataAlgorithm
		{
		public:
			virtual GridData onCompute(GridDataVec& gridDataVec, const VolumeOptions& options);
		};

		class _volumeExport GridDataAlgorithmFloor : public GridDataAlgorithm
		{
		public:
			virtual GridData onCompute(GridDataVec& gridDataVec, const VolumeOptions& options);
		};
	}
}


#endif // !_OCPP_NcOptions_H__
